#pragma once

#include <angelscript.h>

#include <iostream>
#include <fstream>

#include <QtCore/QtCore>

#include <boost/shared_ptr.hpp>
#include <boost/make_shared.hpp>
#include <boost/unordered_map.hpp>
#include <boost/unordered_set.hpp>
#include <boost/filesystem.hpp>
#include <boost/foreach.hpp>
#include <boost/scope_exit.hpp>
#include <boost/iostreams/device/array.hpp>
#include <boost/iostreams/device/file.hpp>
#include <boost/iostreams/stream.hpp>
#include <boostext/util/verify.hpp>
#include <boostext/util/make_shared.hpp>

#undef foreach

#define MLD_MODULE "engine.script"
#define foreach BOOST_FOREACH

using boostext::exception;
using boostext::invalid_value_exception;
using boostext::not_implemented_exception;
